package cn.mw.cmdb.template.param;

import cn.mw.components.mongodb.entity.SearchParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

/**
 * @description 模板配置参数
 */
@Getter
@Setter
@Schema(name = "MwTemplateConfigurationParam", description = "模板配置参数")
public class MwTemplateConfigurationParam extends SearchParam implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "监控引擎服务ID")
    private Integer serverId;

    @Schema(description = "模板ID")
    private String templateId;

    @Schema(description = "模板名称")
    private String templateName;

    @Schema(description = "群组ID")
    private String groupId;

    @Schema(description = "模板ID集合")
    private List<String> templateIds;

    @Schema(description = "是否清除")
    private Boolean isClean;

    @Schema(description = "模板详情类型")
    private Integer detailType;

    @Schema(description = "详情数据")
    private Object detailData;

    @Schema(description = "详情数据删除的ID集合")
    private List<String> detailDeleteIds;

    @Schema(description = "检测器类型")
    private String detectorType;

    @Schema(description = "模板详情的数据ID")
    private String detailId;

    @Schema(description = "分页起始")
    private Integer pageNum;

    @Schema(description = "分页条数")
    private Integer pageSize;

    @Schema(description = "是否保存数据")
    private Boolean isSave;

    @Schema(description = "详情数据名称")
    private String detailName;

    @Schema(description = "查询详情的信息")
    private TemplateQueryParam query;

    @Schema(description = "规则ID")
    private String ruleId;

    @Schema(description = "主机ID")
    private String hostId;

    @Schema(description = "文件类型")
    private String fileType;

    @Schema(description = "模板导入参数")
    private TemplateImportParam templateImportParam;
}
